Distributed computing is a natural result of the use of networks to allow computers to efficiently communicate. More specifically, distributed computing is a method of computer processing in which different parts of a program run simultaneously on two or more computers that are communicating with each other over a network.
Various hardware and software architectures are used for distributed computing. That is, there are numerous technologies and standards used to construct distributed computing system, including some which are specially designed and optimized for that purpose, such as Remote Procedure Calls (RPC) or Remote Method Invocation (RMI) or .NET Remoting.
By more specific example, in distributing computing, at a lower level, multiple CPUs must be interconnected with a network. At a higher level, processes running on those CPUs with a communication system must be interconnected. For these reasons, distributed programming typically falls into one of several basic architectures or categories: Client-server, N-tier architecture, Distributed objects, loose coupling, or tight coupling.
As such, with many different types of distributed computing systems, there are many challenges to overcome in successfully designing such distributed computing systems. One challenge is to connect users and resources in a transparent, open, and scalable manner. However, if not designed properly, a distributed computing system can decrease the overall reliability of computations as the unavailability of a node can cause disruption of the other nodes. Troubleshooting and diagnosing problems, as well as analyzing performance in a distributed computing system, can also be difficult. A known methodology allows automatic performance data gathering per a particular server and allows future manual performance analysis of a particular server; however, there is no known way of providing integrated application performance behavior patterns.
Accordingly, there exists a need in the art to overcome the deficiencies and limitations described hereinabove.